Refactoring Legacy Code In 5 Steps